MacOberon Version 4.00 is a full implementation of Oberon that behaves just like every other Oberon V4 system. However, the Macintosh implementation has several additional features that make use of some of the nicer capabilities built into the Macintosh operating system. These additional features are described below.
Please also Edit.Open OberonV4.Text for a general overview of the V4 release of Oberon.
QuickDraw and PostScript Printing
MacOberon supports several different print architectures concurrently. The printer name is used to distinguish between available options. Currently defined are the following:
QuickDraw Send output to the default printer selected in
the Chooser, substituting the "Helvetica" font
in place of "Syntax" (to avoid downloading
of the Syntax bitmap font).
(requires QuickDrawPrinter.Obj)
PostScript Generate a self_contained PostScript text that
can be downloaded to any PostScript printer
(not just Apple's; the output is independent of
Apples QuickDraw_Postscript code).
(requires PostScriptPrinter.Obj and PSPrinter.* files)
other <name> Send output to network printer <name> using
the CeresNet PRT protocol.
(requires SCC.Obj and NetworkPrinter.Obj)
32_bit QuickDraw Support
MacOberon is based on 32_bit QuickDraw. It reserves a palette of sixteen colours for animation, of which colous 0..3 and 15 are predefined while the remaining can be defined by the user. Calls to Display.SetColor and Display.GetColor now work as described in the Oberon System book (Oberon's RGB_Values in the range 0..255 are scaled for the Macintosh by multiplying them with 101H).
A tool is available for editing colours interactively: Colors.Open . (Click on a colour to open an edit viewer, then use ML to change the red, green and blue component. Press any other mouse button during editing to revert to the previous setting).
Keyboard Break Mechanism
Running commands are interrupted by the key combination Command_Period. The next break can only be triggered after a delay of one second, in order to prevent a string of trap viewers appearing on the screen of an impatient user "hammering" break commands into the keyboard.
Ceres Floppy Disk Support
For users of the Ceres workstation, an alternative to the regular Backup package is available that can read, write, and format Ceres_formatted disks directly. An Apple SuperDrive is required. Thanks to Oliver Dreer for implementing this function.
(requires CeresDiskette.Obj, CeresBackup.Obj)
Font Scaling
For the benefit of users that have only small screens, MacOberon automatically scales down the appearance of the Syntax font by about 20%, when a screen width of less than 1024 is detected. If you wish to disable this mechanism, open the MacOberon application using ResEdit and change the ".Ob5" ressource named "Macintosh.SyntaxFontName" from "Automatic" to either "SyntaxO", which will give you large fonts always, or "SyntaxR", which will result in small fonts always.
Fully Configurable Menus
MacOberon's Apple_Style menus in the menu bar are interpreted at the time of activation, just like normal commands appearing inside the Oberon window. Unlike other applications for the Macintosh, MacOberon has no knowledge about what command appears at which position in which menu. Consequently, the menus are fully configurable by the user.
Using ResEdit, any command may be put into the menu bar of the MacOberon application. Menus and menu items may be added and deleted. Calling a command from the menu bar is very similar to calling it from an Oberon text, except that the value of "Oberon.Par" is set to an empty text prior to command activation.
If Oberon fails to find a valid command in a selected menu item, it will attempt to open a desk accessory using the string found in the menu. As a consequence, the names of desk accessories (or other apple menu folder items) can be placed in any of MacOberon's menus.
Extended Font Support
MacOberon supports arbitrary font sizes and styles. The usual Oberon font naming conventions are used to refer to fonts that are stored in the System file (and not within the MacOberon application). For example, in order to convert the most recent selection into a bold typeface of the Helvetica font in a size of 143 points, one would use the command
Edit.ChangeFont Helvetica143b.Scn.Fnt
In order to aid users that wish to use one of the standard Macintosh fonts instead of the "Syntax" font supplied with Oberon, MacOberon allows users to define an alias name for "Syntax". If the ".Ob5" ressource named "Macintosh.SyntaxFontName" is changed to a value other than "Syntax", MacOberon will automatically supply that other font whenever "Syntax" is requested. This applies to all font sizes and styles.
The name of the default font is extracted from the ".Ob5" ressource named "Fonts.DefaultFontName". This may also be changed to any font present in the system. However, users have to be aware of the fact that the default font only applies to text newly being generated. Documents stored on a file will continue to appear in the font that was used in their creation. The appearance of existing documents may be changed by defining an alias name for "Syntax".
Changing the default font is useful mainly for choosing another font size. The screen metrics of the whole Oberon system, including the height of viewers, the spacing of lines in standard text frames and the width of scroll bars will scale automatically to reflect the height of the new default font.
Full Support of the Clipboard
MacOberon supports styled text information in the Macintosh clipboard. The commands Clipboard.Cut , Clipboard.Copy and Clipboard.Paste work in the usual manner. The clipboard can be displayed by executing the command Clipboard.Show .
Toolbox Programming Interface
MacOberon is intended primarily for users who wish to program commands that are used within the Oberon environment exclusively (possibly on several different hardware platforms). However, an interface to the Macintosh Toolbox is available also, as well as a fast linker that generates stand_alone Macintosh applications. Use of these facilities is recommended only for programmers that are familiar with the Macintosh operating system; programming for the Oberon environment is much simpler than creating stand_alone Macintosh applications. For details, Edit.Open Toolbox.Tool .